The present invention is directed to video data decoding and, more particularly, to an apparatus for and a method of multi-core decompression of block coded video data.
Video compression is the reduction of the quantity of data used to represent digital video images and includes spatial image compression and temporal motion estimation. Typically, in block coded video compression, blocks of neighboring pixels, often called macro-blocks, are compared and the video compression encoding scheme retains the differences between blocks. Video data may be intra-frame encoded by registering spatial differences within a frame and/or inter-frame encoded by registering temporal differences between frames. Various techniques exist for video compression, such as H.264/MPEG-4 AVC, which is one widely used block-coded motion-compensation-based compression/decompression (‘codec’) standard.
The greater the degree of compression obtained, the greater the computational load on decompression. Moreover, high definition video and other video formats with increased data content, such as stereoscopic video for example, also increase the computational load of decompression. Multi-core processors may be used, for real-time decompression for example, in which multiple processor cores participate in parallel in decompression processing. However, such multi-core parallel processing has posed issues of load balancing and computational overhead associated with each additional core.